home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Development Platforms / MPW Related / MPW Interfaces / PInterfaces / Lists.p < prev    next >
Encoding:
Text File  |  1993-09-17  |  4.3 KB  |  153 lines  |  [TEXT/MPS ]

  1. {
  2.     File:        Lists.p
  3.  
  4.     Copyright:    © 1983-1993 by Apple Computer, Inc.
  5.                 All rights reserved.
  6.  
  7.     Version:    System 7.1 for ETO #11
  8.     Created:    Tuesday, March 30, 1993 18:00
  9.  
  10. }
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.     UNIT Lists;
  18.     INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingLists}
  22. {$SETC UsingLists := 1}
  23.  
  24. {$I+}
  25. {$SETC ListsIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingTypes}
  28. {$I $$Shell(PInterfaces)Types.p}
  29. {$ENDC}
  30. {$IFC UNDEFINED UsingControls}
  31. {$I $$Shell(PInterfaces)Controls.p}
  32. {$ENDC}
  33. {$IFC UNDEFINED UsingMemory}
  34. {$I $$Shell(PInterfaces)Memory.p}
  35. {$ENDC}
  36. {$SETC UsingIncludes := ListsIncludes}
  37.  
  38. CONST
  39. lDoVAutoscroll = 2;
  40. lDoHAutoscroll = 1;
  41. lOnlyOne = -128;
  42. lExtendDrag = 64;
  43. lNoDisjoint = 32;
  44. lNoExtend = 16;
  45. lNoRect = 8;
  46. lUseSense = 4;
  47. lNoNilHilite = 2;
  48. lInitMsg = 0;
  49. lDrawMsg = 1;
  50. lHiliteMsg = 2;
  51. lCloseMsg = 3;
  52.  
  53. TYPE
  54. Cell = Point;
  55.  
  56. DataPtr = ^DataArray;
  57. DataHandle = ^DataPtr;
  58.  
  59. DataArray = PACKED ARRAY [0..32000] OF CHAR;
  60.  
  61. ListPtr = ^ListRec;
  62. ListHandle = ^ListPtr;
  63. ListRec = RECORD
  64.     rView: Rect;
  65.     port: GrafPtr;
  66.     indent: Point;
  67.     cellSize: Point;
  68.     visible: Rect;
  69.     vScroll: ControlHandle;
  70.     hScroll: ControlHandle;
  71.     selFlags: SignedByte;
  72.     lActive: BOOLEAN;
  73.     lReserved: SignedByte;
  74.     listFlags: SignedByte;
  75.     clikTime: LONGINT;
  76.     clikLoc: Point;
  77.     mouseLoc: Point;
  78.     lClikLoop: ProcPtr;
  79.     lastClick: Cell;
  80.     refCon: LONGINT;
  81.     listDefProc: Handle;
  82.     userHandle: Handle;
  83.     dataBounds: Rect;
  84.     cells: DataHandle;
  85.     maxIndex: INTEGER;
  86.     cellArray: ARRAY [1..1] OF INTEGER;
  87.     END;
  88.  
  89.  
  90. FUNCTION LNew(rView: Rect;dataBounds: Rect;cSize: Point;theProc: INTEGER;
  91.     theWindow: WindowPtr;drawIt: BOOLEAN;hasGrow: BOOLEAN;scrollHoriz: BOOLEAN;
  92.     scrollVert: BOOLEAN): ListHandle;
  93.     INLINE $3F3C,$0044,$A9E7;
  94. PROCEDURE LDispose(lHandle: ListHandle);
  95.     INLINE $3F3C,$0028,$A9E7;
  96. FUNCTION LAddColumn(count: INTEGER;colNum: INTEGER;lHandle: ListHandle): INTEGER;
  97.     INLINE $3F3C,$0004,$A9E7;
  98. FUNCTION LAddRow(count: INTEGER;rowNum: INTEGER;lHandle: ListHandle): INTEGER;
  99.     INLINE $3F3C,$0008,$A9E7;
  100. PROCEDURE LDelColumn(count: INTEGER;colNum: INTEGER;lHandle: ListHandle);
  101.     INLINE $3F3C,$0020,$A9E7;
  102. PROCEDURE LDelRow(count: INTEGER;rowNum: INTEGER;lHandle: ListHandle);
  103.     INLINE $3F3C,$0024,$A9E7;
  104. FUNCTION LGetSelect(next: BOOLEAN;VAR theCell: Cell;lHandle: ListHandle): BOOLEAN;
  105.     INLINE $3F3C,$003C,$A9E7;
  106. FUNCTION LLastClick(lHandle: ListHandle): Cell;
  107.     INLINE $3F3C,$0040,$A9E7;
  108. FUNCTION LNextCell(hNext: BOOLEAN;vNext: BOOLEAN;VAR theCell: Cell;lHandle: ListHandle): BOOLEAN;
  109.     INLINE $3F3C,$0048,$A9E7;
  110. FUNCTION LSearch(dataPtr: Ptr;dataLen: INTEGER;searchProc: ProcPtr;VAR theCell: Cell;
  111.     lHandle: ListHandle): BOOLEAN;
  112.     INLINE $3F3C,$0054,$A9E7;
  113. PROCEDURE LSize(listWidth: INTEGER;listHeight: INTEGER;lHandle: ListHandle);
  114.     INLINE $3F3C,$0060,$A9E7;
  115. PROCEDURE LDoDraw(drawIt: BOOLEAN;lHandle: ListHandle);
  116.     INLINE $3F3C,$002C,$A9E7;
  117. PROCEDURE LScroll(dCols: INTEGER;dRows: INTEGER;lHandle: ListHandle);
  118.     INLINE $3F3C,$0050,$A9E7;
  119. PROCEDURE LAutoScroll(lHandle: ListHandle);
  120.     INLINE $3F3C,$0010,$A9E7;
  121. PROCEDURE LUpdate(theRgn: RgnHandle;lHandle: ListHandle);
  122.     INLINE $3F3C,$0064,$A9E7;
  123. PROCEDURE LActivate(act: BOOLEAN;lHandle: ListHandle);
  124.     INLINE $4267,$A9E7;
  125. PROCEDURE LCellSize(cSize: Point;lHandle: ListHandle);
  126.     INLINE $3F3C,$0014,$A9E7;
  127. FUNCTION LClick(pt: Point;modifiers: INTEGER;lHandle: ListHandle): BOOLEAN;
  128.     INLINE $3F3C,$0018,$A9E7;
  129. PROCEDURE LAddToCell(dataPtr: Ptr;dataLen: INTEGER;theCell: Cell;lHandle: ListHandle);
  130.     INLINE $3F3C,$000C,$A9E7;
  131. PROCEDURE LClrCell(theCell: Cell;lHandle: ListHandle);
  132.     INLINE $3F3C,$001C,$A9E7;
  133. PROCEDURE LGetCell(dataPtr: Ptr;VAR dataLen: INTEGER;theCell: Cell;lHandle: ListHandle);
  134.     INLINE $3F3C,$0038,$A9E7;
  135. PROCEDURE LFind(VAR offset: INTEGER;VAR len: INTEGER;theCell: Cell;lHandle: ListHandle);
  136.     INLINE $3F3C,$0034,$A9E7;
  137. PROCEDURE LRect(VAR cellRect: Rect;theCell: Cell;lHandle: ListHandle);
  138.     INLINE $3F3C,$004C,$A9E7;
  139. PROCEDURE LSetCell(dataPtr: Ptr;dataLen: INTEGER;theCell: Cell;lHandle: ListHandle);
  140.     INLINE $3F3C,$0058,$A9E7;
  141. PROCEDURE LSetSelect(setIt: BOOLEAN;theCell: Cell;lHandle: ListHandle);
  142.     INLINE $3F3C,$005C,$A9E7;
  143. PROCEDURE LDraw(theCell: Cell;lHandle: ListHandle);
  144.     INLINE $3F3C,$0030,$A9E7;
  145.  
  146.  
  147. {$ENDC}    { UsingLists }
  148.  
  149. {$IFC NOT UsingIncludes}
  150.     END.
  151. {$ENDC}
  152.  
  153.